package com.nidu.demo.base;

import java.util.List;

/**
 * 基础转换器接口
 * @param <DO> 数据对象
 * @param <Model> 领域对象
 * @param <CO> 客户端对象
 */
public interface BaseConvertor<DO, Model, CO> {

    // 基本转换方法
    DO toDataObject(Model model);
    Model toDomainObject(DO dataObject);
    CO toClientObject(Model model);

    // 集合转换方法
    List<DO> toDataObjects(List<Model> models);
    List<Model> toDomainObjects(List<DO> dataObjects);
    List<CO> toClientObjects(List<Model> models);
    List<DO> clientToDatas(List<CO> clientObjects);

     CO dataToClient(DO dataObject);
     List<CO> dataToClients(List<DO> dataObjects);
}